package com.xinke.module.system.service.notice;

import java.util.*;
import javax.validation.*;
import com.xinke.module.system.model.vo.notice.*;
import com.xinke.module.system.model.entity.notice.NotifyMessageDO;
import com.xinke.component.common.pojo.PageResult;
import com.xinke.component.common.pojo.PageParam;

/**
 * 站内信消息 Service 接口
 *
 * @author yzx
 */
public interface NotifyMessageService {

    /**
     * 创建站内信消息
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createNotifyMessage(@Valid NotifyMessageSaveReqVO createReqVO);

    /**
     * 更新站内信消息
     *
     * @param updateReqVO 更新信息
     */
    void updateNotifyMessage(@Valid NotifyMessageSaveReqVO updateReqVO);

    /**
     * 删除站内信消息
     *
     * @param messageId 编号
     */
    void deleteNotifyMessage(Long messageId);

    /**
     * 获得站内信消息
     *
     * @param messageId 编号
     * @return 站内信消息
     */
    NotifyMessageDO getNotifyMessage(Long messageId);

    /**
     * 获得站内信消息分页
     *
     * @param pageReqVO 分页查询
     * @return 站内信消息分页
     */
    PageResult<NotifyMessageDO> getNotifyMessagePage(NotifyMessagePageReqVO pageReqVO);

}